<button @onclick="HandleOnClick"
		class=@Theme?.Value
		title=@Title?.Value
		@attributes="Attributes">
	@ChildContent
</button>
@code {
	[Parameter(CaptureUnmatchedValues = true)]
	public IReadOnlyDictionary<string, object>? Attributes { get; set; }

	[CascadingParameter] public ThemeInfo? Theme { get; set; }
	[CascadingParameter(Name = nameof(Title))] public ThemeInfo? Title { get; set; }
	[Parameter] public RenderFragment? ChildContent { get; set; }
	[Parameter] public EventCallback<MouseEventArgs> OnClick { get; set; }

	private Task HandleOnClick(MouseEventArgs args) => OnClick.InvokeAsync(args);
}
